Electronic statistical calculator and display system

ABSTRACT

An electronic display typing system for use by professional accountants and statisticians. A cathode-ray display is alternately utilized to display the contents of a worksheet storage containing all of the entries and identifications normally placed by an accountant on his worksheet and to display a scratch pad storage which is utilized by the accountant for routine, off-the-worksheet calculations. A movable marker symbol is displayed on the CRT display and is utilized to address the data contents of the worksheet storage. Placement of the marker symbol controls the storage locations which receive data entered from a keyboard and also is utilized to specify the data to be operated on during an arithmetic operation. Continuous movement of the marker symbol during an arithmetic operation effects repetition of the arithmetic operation for each field of numbers addressed by the marker symbol. A sequence of arithmetic operations and marker symbol motions can be &#39;&#39;&#39;&#39;learned&#39;&#39;&#39;&#39; and later utilized as a stored program to thus control a plurality of repetitive operations. The contents of the worksheet storage may thereafter be automatically printed.

United States Patent [72] Inventors Robert A. Rahenltamp;

William R. Stewart, Jr.. both of Lexington, Ky. [2 [1 Appl. No. 765,326[22] Filed Oct. 7, 1968 [45] Patented Oct. 5, 1971 [73] AssigneeInternational Business Machines Corporation Armonk, N.Y.

[54] ELECTRONIC STATISTICAL CALCULATOR AND DISPLAY SYSTEM 13 Claims, 11Drawing Figs.

[52] US. Cl. 235/152, 340/1725, 340/324 [51] Int. Cl G06! 7/38, G06f7/06 [50] Field oi Search 235/156, 152; 340/1725, 324

[56] References Cited UNITED STATES PATENTS 3,294,960 12/1966 Townsend235/l 56 X 3,330,946 7/1967 Scuitto 235/156 X 3,346,853 10/1967 Kosteret a1 3340/1725 [/0 UNIT 3,355.7]4 ll/l967 Culler 3,428,793 2/l969Scuitto ABSTRACT: An electronic display typing system for use byprofessional accountants and statisticians. A cathode-ray display isalternately utilized to display the contents of a worksheet storagecontaining all of the entries and identifications normally placed by anaccountant on his worksheet and to display a scratch pad storage whichis utilized by the accountant for routine, olf-the-worksheetcalculations. A movable marker symbol is displayed on the CRT displayand is utilized to address the data contents of the worksheet storage.Placement of the marker symbol controls the storage locations whichreceive data entered from a keyboard and also is utilized to specify thedata to be operated on during an arithmetic operation. Continuousmovement of the marker symbol during an arithmetic operation effectsrepetition of the arithmetic operation for each field of numbersaddressed by the marker symbol. A sequence of arithmetic operations andmarker symbol motions can be learned" and later utilized as a storedprogram to thus control a plurality of repetitive operations. Thecontents of the worksheet storage may thereafter be automaticallyprinted.

a a o IORISHEE H I ll CONTROL 65 scmcmn so msmv CONTROL .6

194 m IORKSHEET 'fi; 1 STORAGE Sm 2 as \l STOR 1 185 {j aesuu b m 7 mmmm toils lJlHT PROGRAM STORAGE ADDRESS comm) .205 1 EtDODE/DECODE mum mmPROGRAM LEARN cutson tLPMtBEllCi AHITHMETIG PROGRAM CORIROL uuurmcCUliTRUt 25 00mm 4| KEYBOARD minim) KEYBOARD maoino PATENIED 001 51971SHEET 1 OF 6 FIG. 1

QQQQQQ QIQQQQQ QQQQQQ @QQQQQ QQQ Q Q INVENTORS ROBERT A. RAHENKAMPWILLIAM R. STEWART, JR

BY 8* w ATTORNEY SHEET 3 0F 6 m 13 FIG. 3

$1005 4 m 910115 1 194 195 194 91005 2 b 910115 1 9i 104 1 194 f 055011m "EMORY [MR7 ga a 101 $100105 1000550 111000111 Comm 51005 PROGRAM11505111 f 00000111151011 0011900 1101111051101 1101111115110 0000011100111001 1101151110 00111001 25 00111001 1151111011110 1151001100115100100 1151001100 FIG. 4 11 11 ,11 11-\ 11091000011 x] XI 11] 1F00111 09/111510 (D I 11510 @I 11510 I 01 00112 51510 (D 1 11510 1 115101 1 -00 5111 0 1 15 19 1: 11 09 01-19 05 19 r19 00119011 100111011 -00-a0 A-00 -00 CALCULATE SHEET 8 BF 6 .4 h g F 111 112 H; 7 F G. 5 I? 5iI; l V2 89 U' 5a h,v Va

95 FIG. a im. 92 96 OR Riv 11B RETURN a a l 91 CURSOR RIGHT 93 94 com010011 TRY on E11 RETURN & CURSOR LEFT 010011 mmy ADD CURSUR HORIZONTALH -1 POSITION COUNTER H CONTROL 1151 11102 sn TAB 010011 101 OR REVERSE1111 1 FIRST m1 rm 1111011 Y 1151111111 1 L 1111 103 104 m an 1111 OH HRETURN REVERSE on PATENTEU BET 5197i 3,610,902

SHEET 5 UF 6 11511105 FIG. 7 ELEVATE a RESET) w M 001111101 111 a bENTER ELEVATE i RESET v1 v1 1 cuRsoR 0011111 mmy ADD CURSDR VERTICAL &CLMK POSITION comma +1 names END 11mm H 111 FIG. 8

RET 1111 111 m .m

REV 11: m1 1111011 115v 1 e m CURSOR 11011120111111 POSITION cmELECTRONIC STATISTICAL CALCULATOR AND DISPLAY SYSTEM CROSS-REFERENCE TORELATED APPLICATION The following application is assigned the sameassignee as the present application.

U.S. Pat. application Ser. No. 623,053, filed Mar. 14, 1967, entitledData System With Printing, Composing, Communications, and Magnetic CardProcessing Facilities," Robert A. Kolpek, inventor now abandoned andcontinued as application Ser. No. 886,798, filed Dec. 19, 1969.

BRIEF BACKGROUND OF INVENTION 1. Field This invention relates toinformation processing and display apparatus, and, more particularly, toan improved electronic display device having computer facilitiesassociated therewith to rapidly effect entry and display of statisticaldata and to effect rapid arithmetic calculations thereon.

2. Description of the Prior Art The preparation of accounting andbookkeeping entries on a ledger and the preparation of various forms ofstatistical information often involves entering columns and rows ofnumerical information along with their proper heading identificationsonto a worksheet. The rows and columns of entries are thereafterarithmetically operated upon with the result of the calculation oftenbeing placed in a further row or column. The steps of preparing theledge information or the statistical information in a final printed copyformat often entail: l an initial determination by the professionalauditor or statistician of the type of information that will be requiredand the entry of corresponding headings and item identifications onto apaper worksheet which is divided in column and row format; (2) pencilentry of numerical information onto the paper worksheet by theprofessional in column and row form; (3) performing the steps ofaddition, subtraction, multiplication, and/or division of the entrieswith other entries or fixed factors and placing the resultant numbers inappropriate rows and columns on the worksheet; (4) adding or deletingvarious rows and/or columns of entries to the worksheet along with theirheading identifications; (5) numerically adding the rows and columns ofentries to obtain totals and cross-totals; (6) manipulating variousentries to compensate for roundoff errors and to insure a proper result;(7) retotalizing and, if necessary. inserting and/or deleting variousrows and columns of information; (8) typing a final copy by a secretaryutilizing the pencilled worksheet as a draft; (9) reading aloud thetyped information to another who reads the original pencilled worksheetto insure that the typed infonnation is accurate; (l) giving the typedworksheet to another professional accountant, statistician, etc. fortotaling the columns to insure accuracy. if there is a discrepancy inthe entries which causes the total obtained by the second professionalto differ from that on the draft, the worksheets are checked todetermine where the error is. Each time an entry is changed, it isnecessary to retotaiize the entire sheet to insure absolute accuracy.

As can be seen from the above analysis, many steps are performed inobtaining a final worksheet during which an error can be committed. Anentry can be inadvertently transposed to the wrong row or column therebynecessitating its later removal, calculation can be incorrectlyperformed or typing errors can be committed. Additionally, it is oftennecessary to change entries and information if the totals do not agreewith some predetermined standard or with a cross-total. Because of themany possibilities for mistake and change, it is necessary for theprofessional to expend a great amount of time in editing. revising. andchecking the information on the worksheet. Further, since it is ollendesirous to present a final worksheet in printed form, it is necessaryto also spend a great amount of time in checking the accuracy of theprinted worksheet once the draft worksheet is ascertained to be correct.

Prior art automatic data processors have been utilized to aid theprofessional auditor or economist with the preparation of routine jobs.That is, once a job is defined and recurs on a periodic basis, a dataprocessor can be programmed to accept entries and place them in acorrect position in its storage and thereafter arithmetically manipulatethe entries and produce resultant information. The resultant informationalong with the entry infonnation can then automatically be totaiieed andchecked for accuracy by the data processor and caused to be printed outon a high-speed printer. The cost of programming such a data processoris often excessive and, further, it is necessary to reprogram the dataprocessor for each different type of job to be performed.

Since many auditing and statistical jobs do not recur periodically and,further, since it is necessary for the professional auditors orstatisticians to exercise their professional judgment in determiningwhat entries should be made with each unique job, such prior art dataprocessing devices have only been utilized for high volume periodicallyrecurring jobs.

A more specific type of data processing approach has been to utilize adisplay device which is intricately associated with the data processorto effect entry and updating of numerical information. For example, inthose routine jobs where only certain entries change on a periodicbasis, the computer operator can cause those entries to be displayed ona CRT display. Thereafter, the computer operator causes a specific entrywhich is to be changed to be addressed visually by moving a markersymbol associated with the display adjacent to the desired entry. Theoperator then keys in the new entry and thus effects the erasure of theold entry. Thereafter, the new entry is utilized by the programmed dataprocessor for computing with the thus updated information. It is to benoted, however, that the operator has no control over the numericaloperation to be performed on the data thus displayed and only utilizesthe display device to update the data previously stored by the dataprocessor. An example of such a computer system is an IBM Model 360system utilizing an IBM 2260 data communications and display device, nowin public use. A further example of such a cathode-ray tube displaydevice employing a marker symbol for visual addressing is exemplified inU.S. Pat. No. 3,248,705, entitled "Automatic Editor" and assigned to theassignee of the present invention.

Summarizing, the prior art teaches two basic approaches utilized byprofessional auditors, statisticians, economists, financial analysts,etc. in preparing worksheets or control sheets containing a plurality ofentries arranged in rows and columns which are totaled andcross-totaled: a pencil and paper approach which is both time consumingand error prone and an automatic data processing approach which lendsitself to utilization only for periodically recurring routine jobs.

SUMMARY In order to overcome the above noted shortcomings of the priorart and to provide the professional statistician, accountant, economist,etc. with a device which greatly reduces the chances of making error andthe time consumed in preparing a worksheet, the present inventionprovides an information editing and display device wherein informationcan readily be entered into the device by a keyboard and automaticallymanipulated within the device under the control of the professional inmuch the same manner that he manipulates data in an adding machine. Oncethe information is so entered and arithmetically manipulated, it may betotaled and crosstotaled, changed, updated, deleted, and thereafterretotaled under the control of the professional operating on the datadis played by the display device in a manner analogous to operation witha pencil on a paper worksheet. Thereafter, the information can beautomatically printed out in the exact manner that it appeared on thedisplay device thus eliminating the possibility of error in generating afinal copy.

The electronic statistical typing system of the present inventionconsists of a cathode-ray tube (CRT) display unit. a secondary mediaread/record unit, a combination alphabetic/IO-key numeric-keyboard, acontnol keyboard. and

an electronic storage, logic, and arithmetic unit. By manipulating amarker symbol displayed on the CRT display, the professional can specifythe point on the display and hence the location in the electronicstorage wherein heading information or numerical entries will be made.Thus, the professional is able to key in columnar headings and entrieswhich are displayed so as to appear exactly as a worksheet appears.Thereafter, by manipulating arithmetic control keys and the markersymbol placement control keys, various entries can be arithmeticallymanipulated with a resultant number placed as an entry at a locationdesignated by the placement of the marker symbol.

Once all of the entries have been entered, totals and crosstotals mayrapidly be obtained by merely controlling the motion of the markersymbol and signifying the arithmetic operation to be performed.

An additional unique feature of the present invention is the utilizationof a second visual format which is alternately displayed on the displaydevice under the control of the machine operator. The second visualformat is utilized as a scratch pad in order to rapidly effectoff-the-worksheet calculations. Numerical entries contained on theworksheet display can be rapidly transferred to the scratch pad displayand those located on the scratch pad display can be rapidly transferredto a predesignated location on the worksheet display by keyboardmanipulation.

A characteristic of statistical and accounting work is repetition.Operations performed on one set of factors are frequently repeated onother sets. For example, every column on a worksheet may requiretotaling, certain factors within a column may need to be transferred toanother column or a percentage may need to be applied to every item in acolumn. A still further feature of the present invention incorporates aunique programming device which enables the system to learn sequences ofoperations performed under operator control and to thereafterautomatically perform sequences on additional data. The operations thuslearned and later repeated include both arithmetic and control functionsas well as marker symbol motions.

As described above, once the displayed worksheet information has beenentered, arithmetically manipulated, totaled and cross-totaled, and, ifnecessary, changed and retotaled, and thereafter visually checked by theprofessional to insure that it is exactly as he wants it, theinformation thus contained in the electronic storage unit is outputtedto a secondary media reader/recorder or to a printer. The information onthe secondary media can thereafter be utilized to control a printer.Since the final output is automatic, no mistakes can be made intransposing the information from the displayed worksheet to the finalprinted copy.

The foregoing and other features and advantages of the invention will beapparent from the following more particular description of the preferredembodiment of the invention as illustrated in the accompanying drawings.

In the drawings:

FIG. 1 is a perspective sketch of a typical operator's console whichincludes the display device, the function keyboard, and the datakeyboard.

F 16. 2 is a diagram of the keyboard of the display device of FIG. 1.

FIG. 3 is a schematic block diagram of the electronic statistical typingsystem of the present invention.

FIG. 4 is a schematic block diagram of adjacent rows of the worksheetstorage unit.

FIG. 5 is a schematic representation of the worksheet storage unit.

FIG. 6 is a block diagram of the horizontal cursor positionlng controllogic.

F l0. 7 is a block diagram of the vertical cursor positioning controllogic.

FIG. 8 is a block diagram of the horizontal frame limit control logic. 1

FIG. 9 is a block diagram of the vertical frame limit control logic.

FIG. 10 is a block diagram of the horizontal storage display framecontrol logic.

FIG. 1 1 is a schematic diagram of a program sequence within the programstorage unit.

DESCRlPTlON Referring now to the drawings, and more particularly to FIG.1 thereof, a perspective sketch of a typical operators console for usein a system in accordance with the present invention is depicted. Theconsole 11 consists of a display device 13 and a keyboard 15. Asdepicted, the display device is displaying information 17 arranged in acolumn and row format. Since this information is similar to thatnormally found on an accountant's or statistician's worksheet, it willhereinafter be called a worksheet display. The worksheet display isdivided into three areas which are delineated by broken lines: thecolumnar identification area 19, the row identification area 21, and thenumerical entry area 23. The columnar identification area 19 containsalphabetic information which identifies each of the columns of numericinformation 17 and the row identification area 21 contains alphabeticinformation which identifies each row of numeric information 17. Thenumerical entry area contains only numerical symbols and punctuationsignals associated with the display of numerical symbols arranged incolumn and row format. The display device 13 is also utilized to displaya second and different format of data hereinafter referred to as ascratch pad display. In this mode of operation, only the numericalcontents of certain data registers are displayed in a singular columnformat. Thus, either a worksheet display or a scratch pad display can bedisplayed on the display device 13 under the control of selection keyslocated on the keyboard 15 which are operated by the machine operator.

The keyboard 15 comprises three major groupings of keys: the arithmeticand control keyboard 25, the alphabetic and numeric keyboard 27, and thecursor control keyboard 29. The arithmetic and control keys are utilizedto define the mode of operation of the device, specify the arithmeticoperations to be performed on displayed data, control certain displayfunctions, and effect the storage of, and control by, a stored programof selected routines. The alphabetic and numeric keys are utilized toeffect entry of alphabetic and numeric information into the device fordisplay and calculation purposes. The cursor control keys are utilizedby the operator to designate a display location of entries displayed bythe display device 13 which are to thereafter be manipulated or to beutilized during arithmetic operations. By operating the cursor controlkeys 29, the operator controls the position of an electronicallygenerated marker symbol, cursor 31, on the display device 13. Thelocation of the cursor, as will hereinafter be described, specifies thenumerical entry to be operated upon.

Referring briefly now to H6. 2 of the drawings, a detailed diagram ofthe keyboard 15 of the console 11 of FIG. I is depicted. As describedabove, there are three major keyboards: the arithmetic and controlkeyboard 25, the alphabetic and numeric keyboard 27 and the cursorcontrol keyboard 29. The arithmetic and control keyboard is furthersubdivided into the following keyboard groupings: a mode controlkeyboard 33, an arithmetic control keyboard 35, a display controlkeyboard 37, a scratch pad storage control keyboard 39, and a programcontrol keyboard 41. Additionally, three indicator lamps 43 areassociated with the program advance keybutton on the program controlkeyboard 4i.

As described above, there are two basic modes of visual display:worksheet display and scratch pad display. The operator selects the modeof visual display by depressing a toggle switch 45 on the mode controlkeyboard 33 thereby selecting one display or the other. It should benoted at this time that it is also possible to incorporates second smallCRT display to display only the contentsofthe scratch pad storage.lnsuch an.event, both the-worksheet and scratch pad storages would be infull view of the operator at all times. In the description whichfollows, reference will be made to various operator manipulations of thekeybuttons of the arithmetic and control keyboard 25 and the cursorcontrol keyboard 29, it being understood that the reader is referred toFIG. 2 for a visual description of the keybutton being described.

Referring once again to FIG. I of the drawings, a typical worksheetdisplay is depicted as appearing on the display device 13. The worksheetdisplay is a visual presentation of the contents of a portion of aworksheet electronic storage unit to be described hereinafter withrespect to FIG. 3. The worksheet storage unit associated with the dataprocessing apparatus to be described contains all of the entries andidentifications generally placed by the accountant on his worksheet.Normally, an accountant's worksheet is up to 24 inches wide and containsapproximately 50 lines of information. While the entire worksheet can bestored in the data processor, and while it would be desirable to displayall of the numerical entries thus stored at once, because of displaycost limitations, it is necessary to display only a portion of theworksheet storage at any one time. Therefore, the operator must controla scan window" which is moved" over the face of the display in order toselect desired work areas. The scan "window" consists of approximately16 lines, each line containing approximately 70 characters.

The work area displayed within the scan window" on the CRT display 13 isdetermined by the location of the cursor 31. In a given work area, thecursor is free to move to any location. If an attempt is made to movethe cursor beyond the limits of that area, the work area itself willshift thus presenting a new work area to the operator. The work areashifts a row or column at a time once the attempt is made to move thecursor beyond the limits of the area displayed. Four display marks47(a)-47(d) delineate the area within which the cursor 31 may movewithout effecting a shift of the display area. For example; when thecursor 31 is moved to the right of an imaginary line between the displaymarks 47(b) and 47(d), all of the information within the numerical entryarea and the column identification information is shifted to the left byone column. Similarly, if the cursor 31 is moved in a downward directionand an attempt is made to move it beyond the imaginary line between thedisplay marks 47(0) and 47(d), all of the information within thenumerical entry area 23 and the row identification area 2] is shiftedupward by one row. in this manner, all the numerical entries can bedisplayed while still displaying their proper identifications in thecolumnar identification area 19 and the row identification area 21. Thatis, the headings in the columnar and row identification areas whichcorrespond to the data displayed are always displayed.

As described above, the cursor 31 is the means used to address specificentries in the electronic storage unit which are displayed on theworksheet display. The cursor is an illuminated mark appearing on theCRT display and generally takes the form of a short line or underscore.It may also take the form of a circle which surrounds the character, abracket, a brightened character, or any other such form as a "light gun"location which could be utilized to visually indicate a unique relativeposition on the surface of the CRT display 13. Movement of the cursor isunder operator control through the cursor control keyboard 29 on theconsole keyboard 15. The cursor may be moved incrementally at low orhigh speed or in multiple position steps.

Referring briefly to FIG. 2, four keybuttons 49 are used to move thecursor vertically and horizontally. A light depression of one of thekeybuttons 49 will cause movement of the cursor through a single row orhorizontal position in the indicated direction. Further depression ofthis keybutton causes highspeed motion of the cursor in the indicateddirection.

Movement of the cursor in multiple horizontal position steps is effectedupon the depression of the tab key located on the cursor controlkeyboard 29. Depression of this key causes the cursor to move to theright to a preset tab stop. In an enter mode of operation, the cursorwill stop in the units position of the numerical field defined by thetab stop. In a calculate mode of operation, the cursor will stop at afield control position to be hereinafter defined. Depression of thereverse tab key will cause the cursor to move to the left to the nextpreset tab stop and the final location of the cursor is identical tothat described above with respect to the operation of the tab key. Whenin entry or calculate mode, depression of the return key causes thecursor to return to the left edge of the numerical entry area 23 of theworksheet and to also simultaneously index the cursor down one line. Inreplace mode, the cursor returns to the left edge of the rowidentification area 2] and indexes. in those instances where the leftedge of the numerical entry area was previously not displayed within thescan window, the scan window" will also move to the leftmost position ofthe worksheet thus displaying the leftmost column of entries containedin the numerical entry area of storage. Depression of the elevatekeybutton is similar to the operation described above with respect tothe return keybutton, but causes the cursor to move upward to the topedge of the numerical entry area of the worksheet in accordance with themode selected. The display area views the uppermost line of theworksheet following the depression of this key.

Referring now once again to FIG. I of the drawings, in the descriptionwhich follows, it will be explained how the information which makes upthe worksheet display is keyed into a storage unit for display ondisplay device 13. Initially, an operation begins with a blank display.All column headings and row identifications are entered from thealphabetic and numeric keyboard or, as will hereinafter be described,from a secondary media reader (not shown). In order to enter columnheadings, the cursor 31 is first located to the upper leftmost positionupon the display. The replace" keybutton is depressed on the modecontrol keyboard 33 and thereafter, column headings and tabulation stopsare entered by typing and spacing with the keys on the alphabetic andnumeric keyboard 27. As each character is thus entered, the cursorautomatically spaces one position to the right awaiting the entry of thenext character. Tab stops are set at the cursor location whenever thetab set key on the cursor control keyboard 29 is depressed. Theintervals between tab stops establish the field lengths for data entriesto be made at a later time as will be described. Additional lines ofcolumnar identification information may similarly be placed beneath thefirst line of column identification information. As also describedhereto fore, if the worksheet width exceeds the display width, the displayed work area advances to the right as typing and spacing continues.Upon depressing the return key on the cursor control keyboard, thecursor will return to the leftmost position of the worksheet storage andindex down one line.

After entering all column identification lines, the operator locates thecursor to the left margin by utilizing the return key or the cursormotion key and thereafter depresses the end heading" key on the cursorcontrol keyboard. Depression of this key causes a line to be displayedon the display 13 dividing the heading information from the datainformation. It also internally stores an indication within the storageunit of the device to control the display of the heading information asthe scan window" is thereafter shifted downward.

The location of the first tab stop similarly divides the rowidentification area 21 from the numerical entry area 23. Thisindication, stored in the storage unit, also controls the display ofappropriate row headings as the scan window is shifted. Each row headingis similarly entered by simply typing on the alphabetic and numerickeyboard and returning the cursor until all of the lines have beenidentified. Open lines are placed on the worksheet by depressing thecursor return key more than one time. Such multiple depression effectsthe storage of a special symbol which indicates that a blank line is tobe displayed.

After the worksheet has thus been setup with column and rowidentifications and tab stops which define the length of the numericalfields in each column, numerical entries can be made by depressingkeybuttons on the numeric keyboard. The machine must first be placed inthe enter mode by depressing the "enter button on the mode controlkeyboard 33. This conditions the system to receive data and controls thecursor 3 l when tabbed, so that it will be positioned at the unitsposition of the tabbed-to field. Thus, with the cursor located adjacentto the units position of the desired field, a numerical entry is keyedon the numeric portion of the alphabetic and numeric keyboard 27. Thehigh order positions are keyed first, the cursor remaining in the unitsposition with each keyed digit causing the previously keyed digits toshifi to the left both within the electronic storage unit and on thedisplay 13. Upon completing an entry, the operator then locates thecursor to the next entry field by utilizing the reverse tab and tab keysand the keybuttons 49 on the cursor control keyboard. Replacement of anincorrect entry can be efi'ected in two ways: (a) the cursor can belocated in the units position of the field and thereafter the "clear"key on the display control keyboard 37 is depressed clearing all thepositions of the field. A new entry is thereafter made from the numerickeyboard. (b) The cursor is located at the specific position requiring achange, the replace" key on the mode control keyboard is depressed, andthe correct digit keyed on the numeric keyboard. This substitutes thenew digit for the incorrect digit within the field and the cursoradvances to the next position to the right in case additionalcorrections are necessitated.

In order to make minus or credit entries, the reverse sign" key on thearithmetic control keyboard 35 is depressed following the numeric keyingand prior to moving the cursor. This assigns a negative value to thequantity in the justkeyed field. If the "reverse sign" key is depressedin error, a second depression of the key will return the quantity to apositive value. The negative sign appears to the right of the unitsposition in the control location.

In normal operation, a quantity of data entries will be made prior toany arithmetic manipulations. Headings, identifications, input data, andcorrections will be spread before the operator for review, refonnating,rearrangement, or further correction. The operator proceeds to themanipulation phase by depressing the "calculate" keybutton on the modecontrol keyboard 33. During the course of developing the worksheet,further line item identification, headings, and data may have to beentered. This is accomplished by again switching back to the enter andreplace" mode of operation.

Thus far, the description has related to how the operator keys ininformation, and manipulates the cursor 3! on a display device 13 todesignate where information is to be entered. In the description whichfollows, the arithmetic operations which may be performed on the datathus stored and other functions including relocating data, utilizing thedisplayed data in an off-the-worksheet complex calculation, andeffecting a unique series of repetitive calculations automatically willbe described.

Referring now to FIG. 3 of the drawings, a schematic block diagram ofthe electronic statistical typing system of the present invention isdepicted. This device comprises a worksheet storage unit 60 and ascratch pad storage unit 61. In the description which follows, each ofthese storage units, along with various registers will be described asperforming certain functions. It is, of course, understood by thoseskilled in the art that each such storage unit thus described could bean arbitrarily designated portion of a larger overall electronic storageunit.

The worksheet storage unit 60 is utilized to store the columrun and rowidentification information along with the numerical entries which aredisplayed on the display device 11 when in worksheet mode. Theinformation thus contained in the worksheet storage is in the form of acoded representation, such as a modified binary coded decimal, and istransmitted from the worksheet storage 60 to the worksheet displaycontrol device 63. The worksheet display control device 63 effects thedisplay of that portion of the worksheet storage 60 defined by the scanwindow" which in turn is defined by the cursor location. In a similarmanner, the scratch pad display control unit 65 controls the display ofthe data information stored in coded form in the scratch pad storageunit 61. Both of the display control units operate in a well-knownmanner to effect the encoding of the information stored in coded form inthe storage units. The thus encoded information controls the blanking ofa raster associated with the CRT display to thus form visual characterpatterns. Switch 45' representative of the toggle switch 45 on the modecontrol keyboard 33 effects the display of either the worksheet storage60 or the scratch pad storage 61 in accordance with the switch position.

The worksheet storage unit 60 contains a number of rows of storagecorresponding to the maximum number of rows desired to be placed on theworksheet and a number of columns of information corresponding to themaximum number of columns desired on the worksheet. An additional row ofthe information is provided for storing tab stops. As describedheretofore with respect to the display 13 of FIG. 1, the information inthe worksheet storage unit 60 which is located to the right of the firsttab stop and located under the columnar identification information isthe numerical entry area. The numerical entry area of storage consistsof a plurality of fields, each such field containing an entry, factor,or result. The location and length of each field is determined by tabstops set in the tab stop row of the worksheet storage 60 and by the rowof storage in which the field is located. The field length is equal tothe number of storage positions between the tab stops and the entirefield length less one position can be utilized for the storage ofnumerical information. A single position within each field is reservedfor algebraic signs and control.

Referring briefly now to FIG. 4 of the drawings, two typical adjacentrows of storage in the numerical entry area and the tab stop row ofstorage are schematically depicted. The first row 67 and the second row68 each consists of a plurality of fields 69, each such field beingdefined as the area between adjacent tab stops 7] stored in the tab stoprow 73 of storage. Each such field 69 consists of a numerical entryportion 75 and a sign and control portion '77. The sign and control portion 77 is one character long and functions as an address locationduring certain arithmetic operations and also as the location whereinthe algebraic sign of the numerical entry is stored. As described above,whenever the device is in enter mode, the cursor is positioned adjacentto the low order position of the field. These cursor locations areschematically depicted for each field of information 69 at 79. Thecursor is located adjacent to the sign and control portion 77 duringcalculate operations. These cursor locations for each field are depicted at 80.

Referring once again to FIG. 3 of the drawings, the address and cursorcontrol unit 83 is responsive to the cursor control keyboard 29 andeffects the addressing of the various fields of data within thenumerical entry area of the worksheet storage 60 as well as the columnarand row identification areas of the worksheet storage 60. That is, bypositioning the cursor on the display 13, the operator defines a displaycoordinate position which correlates with a unique position in theworksheet storage unit 60. The corresponding unique storage position inthe worksheet storage 60 is thus addressed by the address and cursorcontrol unit 83 and, further, this unit provides a signal to theworksheet display control unit 63 which causes the cursor to bedisplayed on the display 13 at the position defined by the operator.Whenever the operator depresses one of the cursor control keybuttons 49,for example, the cursor address is caused to be incremented ordecremented in accordance with the button depressed and the position ofthe cursor is caused to be changed on the display I3. As describedabove, when in replace mode, the cursor addresses a single uniquestorage position. When in enter mode, the cursor addresses the unitsposition of a field defined by previously set tab stops. When incalculate mode, the cursor addresses the sign and control portion of thefield defined by the tab stops.

In the description which follows, the operation of the address andcursor control unit 83 which defines the cursor position during thevarious modes of operation and which further defines the scan window" tothe worksheet display control unit 63 will be described. Referring nowto FIG. of the drawings, a schematic representation of the worksheetstorage unit 60 of FIG. 3 is depicted. Four areas of the storage unit,85, 86, B7, and 88 represent that portion of the worksheet storage unit60 which is displayed. These areas are in turn defined by the horizontaland vertical coordinate position of the cursor address depictedschematically at 89, by the maximum number of vertical lines which canbe displayed, and by the maximum length of the display. As depicted,each of the areas are defined by the boundaries of the storage unit 60and/or coordinate positions V,, V V and H,, H,, and H The V coordinateposition is defined, as described heretofore, by the depression of theheading keybutton when in replace" mode. The H, coordinate position isdefined by the first tab stop. The V, and V, coordinate positions aredefined by the vertical coordinate position, v, of the cursor address at89. The number of rows of storage located between the V, and V,coordinate positions is dependent upon the maximum number of rows thatcan be displayed and upon the number of rows of display located betweenthe coordinate position V, and the upper boundary of the memory. In asimilar manner, the H, and H, horizontal coordinate positions aredefined by the horizontal position of the cursor and by the maximumnumber of columns which can be displayed and the number of columns whichare displayed between the left boundary of the memory and the H,coordinate position. In the description which immediately follows, thelogic which controls the horizontal cursor position, h, and the logicwhich defines the H and initial H, coordinate positions will bedescribed.

Referring now to FIG. 6 of the drawings, the horizontal cursorpositioning control logic is depicted. The horizontal coordinateposition of the cursor is maintained in the counter 91. The counter isreset to zero when the return key is depressed when in replace mode by agated signal from the AND gate 92 and is reset to the contents of the H,counter when the return key is depressed when either in control mode orentry mode by a gated signal from ANDgate 93.

When the "tab" or the "reverse tab key is depressed, the counter 9| isset with a coordinate position of a tab stop which is stored in the tabstop storage unit 94. This signal is gated under the control of OR-gate95 and the AND-gate 96. The number within the counter 91 is incrementedby I when the cursor is advanced one position to the right anddecremented by 1 when the cursor is advanced by one position to theleft. AND'gates 97 and 98 supply a +1 and a 1 output respectivelywhenever the cursor right and cursor left keybuttons are depressed.These signals are applied to OR-gate 99 and thence to the counter 91.

In order to define the tab stops stored in the tab stop storage unit 94,it will be recalled tat the operator places the device in replace modeand thereafter positions the cursor to the location of the desired tabstop and depresses the set tab keybutton. At this time, AND-gate 101gates the contents of the counter 9! to the tab stop storage unit 94.The tab stop storage unit 94 consists of a plurality of discrete storagepositions, each adapted to store a single horizontal position. Each ofthe discrete storage positions are addressed by the tab address counter102 which is initially reset to address the first storage position whenthe "return" key is depressed. Thereafter, each depression of the settab key gates OR-gate 103 whose output is utilized to gate the AND-gate104. The output of the AND-gate 104 is provided to the OR-gate 105 whichin turn causes the tab address counter 102 to increment by +l. In thismanner, the tab address counter increments by +1 each time a tab stop isset so that the next tab stop will be stored in a new storage positionof the tab stop storage unit 94.

As described above, the AND-gate 96 gates the contents of the addressedstorage position within the tab storage unit 94 into the counter 91whenever the tab or reverse tab keys are depressed. Depression of thetab key gates the OR-gate 103 which causes the tab address counter I02to advance in a manner similar to that described above with respect tothe operation of the set tab key. Depression of the reverse tab keycauses the AND-gate 106 to provide an output signal which causes the tabaddress counter to be decremented. In this manner, the tab addresscounter 102 causes the proper tab stop positions to be gated into thecounter 91.

As has been described, when in control mode, the control position of thefield defined by the tab stop is addressed. Since the control positionis one position to the left of the tab position, it is necessary todecrement the counter 91 by I after a tab operation when in controlmode. Thus, the AND-gate 107 provides an output signal after a tab orreverse tab operation when in control mode which gates the OR-gate 108to provide a-I signal to the OR-gate 99 whose output causes the counter91 to decrement by I. In a similar manner, logic (not shown) causes thecounter 91 to decrement by two positions when in enter mode.

When defining the first tab stop, the output of the AND- gate 101 issupplied to the AND-gate 109 which is also gated by the output of thefirst tab latch I10. Since the first tab latch has not yet been set, theoutput of the first tab latch 110 gates the AND-gate 109 so that the H,counter lll and the H, counter 112 are both set with the contents of thecounter 91 which corresponds to the horizontal position of the first tabstop. Thereafter, the first tab latch 110 is set thus degating theAND-gate 109.

Referring now to FIG. 7 of the drawings, the vertical cursor positioningcontrol logic is depicted. This logic is similar to the horizontalcursor positioning control logic described with respect to FIG. 6 anddiffers only in that there are no means provided for verticaltabulation. A counter 115 is provided to maintain the verticalcoordinate position of the cursor. This counter is reset to zero underthe control of AND-gate 116 when in replace mode and when the elevatekey is depressed. The counter is reset to the V, coordinate positionunder the control of AND-gate 117 when the elevate key is depressed wheneither in control mode or enter mode. The cursor is decremented by 1when the cursor up key is depressed and incremented by I when the cursordown key is depressed as controlled by AND-gates I18 and I19 and theOR-gate I20. Both the V, counter 121 and the V counter 122 are gatedwith the contents of the counter 115 by AND circuit I23 when in replacemode and when the end heading key is depressed.

Referring now to FIG. 8 of the drawings, the horizontal frame limitcontrol logic is depicted. This logic controls the horizontal boundariesof the scan window" as defined in FIG. 5 of the drawings. Threecounters, the H, counter 111, the H, counter I12, and the H, counter I25are utilized to define the H,, H,, and H coordinate positions as definedin FIG. 5. It has been described how the H, counter III is initially setwith a value corresponding to the first tab stop and how the H counter112 is initially set with the same value. Thereafter, whenever thereturn key is depressed, AND-gate I26 provides an output signal to theOR-gate I27 which causes the H, counter I12 to be set with the value ofthe H, counter. Depression of the return key also causes the AND-gate128 to pro vide an output signal which causes the H, counter I25 to beset with a number corresponding to the maximum number of horizontalpositions that can be displayed. Thus, when the retum" key is depressed,the H, counter Ill and the H, counter 112 each contain a valuecorresponding to the first tab stop, and the H, counter contains a valuecorresponding to the maximum number of horizontal positions that can bedisplayed within a line.

Thereafter, whenever the cursor is advanced to the right, the value inthe H counter is compared with the horizontal position of the cursorwhich is supplied by the counter 91 by the compare circuit 129. When thevalue of the H, counter is less than or equal to the horizontalcoordinate position of the cursor, the scan "window" must be advanced tothe right. At this time, latch 130 is set and the output of the latch isutilized to gate the AND-gate 131. The output of the AND-gate I31supplies a H signal to the OR-gate 132 which in turn causes the H,counter U2 and the H, counter I25 to increment by +l. This operationcontinues until the horizontal Once the scan window" has been shifted tothe right by advancing the H, and H, counters, the operator maythereafter cause the scan window" to be shified to the left by causingthe cursor to move to the left beyond the value stored in the H,counter. This event can occur either by depressing the reverse tab keyor by depressing the cursor left keybutton. Thus, whenever thehorizontal position of the cursor as supplied by counter 91 is less thanor equal to the count of the H, counter 112, compare circuit 134supplies an output signal which sets the latch 135. The output of thelatch 135 is gated with a 1 signal by the AND-gate 136. The output ofthe AND-gate 136 is gated through the OR-gate 132 and decrements the H,counter 112 and the H, counter 125. When the horizontal position of thecursor is greater than the count contained in the H, counter 1 12, thecompare circuit 134 supplies a reset signal to the latch 135.

As described above, depression of the reverse tab key causing the cursorto move to the lefl to a coordinate position located to the left of thecoordinate position defined by the H, counter 112 causes the H, counterto be decremented. Since the reverse tab movement of the cursor when inthe calculate mode or the entry mode causes the cursor to address thecontrol position or the units position respectively of a field, andsince decrementing of the H, counter 112 ceases whenever the count inthe H, counter is less than the cursor position, only the controlpositions of the tabbed-to field would be within the boundary defined bythe H, counter. in order to insure that the entire tabbed-to field isdisplayed, a second reverse tab operation is automatically performed sothat the cursor is then located adjacent to the control position of thefield to the left of the tabbed-to field. The H, counter is then setwith this value which thus insures the display of the entire tabbed-tofield and, thereafter, the cursor is tabbed in the forward directionback to the desired field. Thus, whenever the compare circuit 134provides an output signal indicating that the horizontal position of thecursor is less than or equal to the count in the H, counter, and if areverse tab operation has just occurred, the AND-gate 137 is gatedsupplying an output signal to the AND-gate 138, the output of whichcauses a reverse tab operation to occur. Both the AND-gate 137 and theAND-gate 138 are gated with the output signal of the reverse tab latch139. This latch indicates that a reverse tab had not previously beenautomatically effected. The output signal of the AND-gate 137 is delayedby delay 140 and causes the reverse tab latch to set thereby blockingfurther automatic reverse tabulation.

The reverse tabulation effected by the AND-gate 138 causes the cursorhorizontal position to correspond to the control position of the fieldimmediately to the left of the tabbedto field. This new horizontalposition is thereafter supplied by the counter 91 to the compare circuit134 which causes the H, counter to continue to decrement until its countis equal to that of the counter 91. At this time, the compare circuit134 supplies an output signal to the AND-gate 141 which is also gatedwith the now on output of the reverse tab latch 139. The output of theAND-gate 141 causes a tabulation to be effected thereby causing thecursor horizontal position to move to the control position of thetabbed-to field. The output signal of the AND-gate 141 is also utilizedto reset the reverse tab latch 139 to its off state. The latch circuit135 is also reset since the horizontal coordinate position of the cursoris greater than the count of the H, counter 112. At this time, the Hcounter contains a value corresponding to the control position of thetabbed-to field.

The above description has related to the horizontal frame limit controllogic. The vertical frame limit control logic is depicted in FIG. 9 ofthe drawings and is similar in operation to the horizontal frame limitcontrol logic except that the additional logic required for tabulationand reverse tabulation is not needed in the vertical logic sincevertical tabulation is not provided. it has been described with respectto FIG. 7 of the drawings how the V, and V, counters 121 and 122 areinitially set with the heading line coordinate position. Whenever theelevate" key is thereafter depressed, AND-gate 144 provides an outputsignal to the OR-gate 145 which in turn gates the V, counter 122 withthe contents of the V, counter 12]. Additionally, whenever the elevate"key is depressed, AND-gate 146 provides an output signal correspondingto the maximum number of vertical lines that can be displayed which isgated into the V, counter 147. Thereafter, whenever the verticalcoordinate position of the cursor as defined by the counter 115 isgreater than the count in the V, counter 147, compare circuit 148provides an output signal to the latch 149. The output of the latch 149is then gated by the AND-gate 150 with the +1 line causing a +1 signalto be applied to the OR-gate 151 which in turn causes the V, counter 122and the V, counter 147 to increment by +1. This operation continuesuntil the count in the V, counter is greater than the verticalcoordinate position of the cursor at which time the latch 149 is reset.

In a similar manner, when the cursor is moved from the bottom of thepage toward the top of the page, the compare circuit 152 provides anoutput signal whenever the cursor coordinate position is less than thecount of the V, counter. This signal sets the latch 153 which in turnprovides an output to the AND-gate 154. The AND-gate 154 is also gatedwith the -l line so as to provide a 1 signal to the OR-gate 151 whichcauses the V, counter 122 and the V, counter 14'! to decrement. Thedecrementing continues until the vertical coordinate position is greaterthan the count contained in the V, counter.

Referring once again to FIG. 5 of the drawings, the logic utilized tocontrol the horizontal and vertical positioning of the cursor address 89has been described. Additionally, the logic utilized to define the V,,V,, and V, vertical coordinate positions as well as the H,, H,, and H,horizontal coordinate positions in terms of the cursor coordinateposition 89 and in terms of the maximum area displayed has beendescribed. In the description which follows, the logic utilized toeffect the display of the areas 85, B6, B7, and 88 as a continuousdisplay, ignoring the contents of adjacent areas within the storage unit60 will be described.

Referring now to FIG. 10 of the drawings, the horizontal storage displayframe control logic is depicted. The horizontal storage location of thecharacter to be displayed is contained in the horizontal display storageaddress register 158. At the start of a display operation, this registeris reset to a value corresponding to the left-hand coordinate positionof the storage unit. Thereafter, its value is caused to be incrementedby l with each clock pulse under the control of the AND-gate 159. whenthe value thus contained in the horizontal display storage addressregister 158 corresponds to the value in the H, counter 111, the comparecircuit 160 provides an output signal. This circuit is gated with theoutput signal of the horizontal display storage address register 158 andwith the output signal of the OR-gate 161. The OR-gate 161 is in turngated with an output signal from either the AND-gate 62 or the AND-gate163. The AND-gate 162 provides an output signal corresponding to thevalue contained in the H, counter 111 whenever the horizontal sweepflip-flop 164 provides an output on its A" output line and the AND-gate163 provides an output signal corresponding to the contents of the Hcounter 125 whenever the horizontal sweep flip-flop circuit 164 providesan output signal on its "8" output line. Since the horizontal sweepflip-flop 164 initially provides an output signal on its A" output line,the contents of the horizontal display storage address register 158 arecompared with the contents of the H, counter 111 by compare circuit 160.When the contents of the horizontal display storage address registerequal the value in the H, counter 111, the compare circuit provides anoutput signal which gates the AND-gate 165. This gate is also gated withthe A output line ofthe horizontal sweep flip flop circuit 164- and withthe contents of the H,

counter 1 12. Thus, when the contents of the horizontal display storageaddress register are equal to the contents of the H, counter 111, thehorizontal display storage address register 158 is set with the contentsof the H, counter 112. Additionally, the output of the compare circuit160 is delayed by delay 166 and thereafter causes the horizontal sweepflip-flop circuit 164 to change state.

Thereafter, the contents of the horizontal display storage addressregister 158 are compared with the contents of the H counter 125 bycompare circuit 160 and, when equal to the contents of the H counter125, the compare circuit 160 provides an output signal to the AND-gate167. The AND-gate 167 is also gated by the "B output line of thehorizontal sweep flip-flop circuit 164 and by a reset line to reset thehorizontal display storage address register 158 to zero. The outputsignal of the compare circuit 160 is again delayed by the delay 166 tocause the horizontal sweep flip-flop circuit 164 to again change statesto its initial condition.

in the above manner, the horizontal display storage address registerstarts at the leftmost coordinate position of the storage unit andthereafter advances by one until its count is equal to the count of theH counter 11 l. Thereafter, the contents of the H counter 112 are gatedinto the horizontal display storage address register and it continues toincrement by one until equal to the contents of the H counter 125.Thereafter, it is again reset to zero and the operation continues. Inthis manner, only the contents of the storage unit located between theleft-hand boundary of the storage unit and the H, coordinate positionand the contents of the storage unit located between the H, coordinateposition and the H coordinate position are displayed.

In order to display the coordinate position of the cursor, the contentsof the horizontal display storage address register l58 are gated to thecompare circuit 169 which compares the current address of the horizontaldisplay storage address register with the contents of the counter 91containing the cursor horizontal coordinate position. When thecomparison is equal, the compare circuit 169 provides an output signalto the horizontal display control unit 63(a) to effect the display ofthe cursor.

The vertical storage display frame control logic is identical to thehorizontal storage display frame control logic depicted in FIG. 10, theV, counter 12], the V, counter 122, and the V counter 147 correspondingto the H counter 111, the H, counter 112, and the H counter 125respectively. The only further difference is that the vertical displaystorage address register is incremented by +l with each reset of thehorizontal display storage address register.

Referring once again to FIG. 3 of the drawings, the operation of theaddress and cursor control unit 83 has been described. The followingdescription relates to the data handling and arithmetic operations ofthe device when in the worksheet mode of operation.

Three special storage registers are associated with the worksheetstorage unit 60. These are: the memory register 185, the entry register187, and the result register 189. When the toggle switch 45' is in itsworksheet display position, the memory register 185 functions to holdthe last alphabetic data character or the last numerical field read intoor from the worksheet storage unit 60. As will be described, thenumerical field or alphabetic letter can be caused to be displayed andthus stored in more than one location by manipulating keybuttons on thecursor control keyboard 29 to define the desired storage locations andthereafter depressing the display" keybutton on the arithmetic andcontrol keyboard 25. The entry register [87 is loaded only from thenumeric keys of the alphabetic and numeric keyboard 27 and, as will bedescribed, retains the contents of a numerical field until the start ofa new keyboard entry. The result register 189 is utilized to temporarilystore the result of all arithmetic operations except division. Whendividing, the result register holds the remainder and the store Iregister 191 of the scratch pad storage unit 6] holds the quotient.Additionally, the result register is utilized when transferringinformation from the worksheet storage 60 to the scratch pad storage-6'1under the control of the "store" key as will be described. The resultregister is cleared by depressing the "result display" key on thefunction control keyboard 25 which effects the transfer of the numericalfield thus stored to the position defined by the cursor in the worksheetstorage unit 60. Additionally, the result register, may be cleared ifthe cursor is in the control position ofa numeric field and the clear"key on the function control keyboard 25 is depressed. If the cursor isin the units position of a numerical field, the clear key clears thatfield and has no effect on the contents of the result register 189. Thecontents of the result register are utilized as the multiplicand ordividend by depressing a multiply or divide key on the arithmetic andcontrol keyboard 25 immediately following another arithmetic operation.

An arithmetic and logic unit 193 is responsive to the arithmetic andcontrol keyboard 25 to effect various arithmetic and logicalmanipulations of the data contained in the scratch pad storage unit 61,the entry register 187, and the result register 189 and to thereaftereffect the storage of the resultant number in the worksheet storage unit60, the result register 189, the entry register 187, or the scratch padstorage unit 61. The arithmetic and logic unit 193 controls thesequential closure of various switches 194 to effect the transfer ofdata as will be described. It is understood by those skilled in the artthat the switches could be the internal programmed operations of anautomatic data processor. Additionally, the construction of thearithmetic circuits are well known in the art and will not be describedin detail.

The arithmetic functions performed by the arithmetic and logic unit 193when in the worksheet display mode include addition, subtraction,multiplication, and division. Addition is effected when the operatordepresses the add key on the arithmetic and control keyboard 25 causingthe contents of the numerical field in the worksheet storage 60addressed by the address and cursor control unit 83 (hereinafterreferred to as the cursor address) to be gated to the memory registerl85, then to the entry register 187, and thereafter to be added to thecontents of the result register I89. If an entry had been previouslykeyed on the keyboard, the contents of the entry register 187 will beadded to the contents of the result register 189 in lieu of the cursoraddress fieldv When the operator depresses the subtract key on thekeyboard 25, the operation is the same as that described above withrespect to addition except that the contents of the entry register aresubtracted from the contents of the result register 189. Depression ofthe multiply key on the keyboard causes the contents of the fieldaddressed by the cursor to transfer to the memory register and thence tothe result register to form the multiplicand and further condition thearithmetic circuits for multiplication. Thereafter, the cursor ispositioned to the control position of the numerical field which will bethe multiplier and the equal key on the keyboard is depressed. Thiscauses the contents of the cursor address field to transfer to thememory register 185 and thence to the entry register 187. Thereafter,the contents of the entry register are multiplied with the contents ofthe result register by the arithmetic and logic unit 193 and the resultof the multiplication is stored in the result register [89. If themultiplier were keyed, the keyed number would be stored in the entryregister I87 and depression of the equal key would effect themultiplication of the contents of the entry register with the contentsof the result register.

Following an add, subtract, or multiply operation, the cursor ispositioned to the location where it is desirous to store the result ofthe calculation and the "result display" key is depressed. Depression ofthe "result display" key effects the transfer of the numerical fieldcontained in the result register I89 to the memory register 185 andthence to the numerical field defined by the cursor in the worksheetstorage 60.

Since the result of add, subtract, and multiply operations is stored inthe result register 189, and since it is often desirous to utilize thatnumber as a multiplicand in a sequence of arithmetic operations,depression of the multiply key immediately following an addition,subtraction, or store (to be defined hereinafter) operation will causethe existing contents of the result register tobe retained as themultiplicand in lieu of the cursor addressed field. Additionally, duringmultiplication operations, it is not necessary to rekey the multiply keyto initiate each multiplication after the first multiplication. Thus, itis only necessary upon the second multiplication to define themultiplier, since depression of the equal key effects the multiplicationof the multiplier thus defined with the contents of the result register.However, in a chain of multiplications, if it is desirous to display theintermediate products, depression of the result display key clears theresult register thus necessitating the further depression of themultiply key after a result display operation to effect transfer of thenumerical information from the cursor address field (where theintermediate is displayed) back to the result register 189.

Depression of the divide key on the keyboard causes the contents of thefield addressed by the cursor to transfer to the result register to forma dividend and conditions the arithmetic circuits for a subsequentdivision operation. In a similar manner to the multiplication operationdescribed above, if the divide key operation immediately follows anaddition, subtraction, or store operation, the contents of the fieldaddressed by the cursor will be ignored and the existing contents of theresult register 189 will be retained as the dividend. Further, if anentry has been keyed on the keyboard, that entry will be transferredfrom the entry register 187 to the result register 189 when the dividekey is depressedv Thereafter, the cursor is positioned to the fieldcontaining the divisor or the divisor is keyed on the keyboard and theequal key is depressed in a manner analogous to that described withrespect to multiplication. The quotient of the divide operation isstored in the store I register 19! of the scratch pad storage unit 6iand the remainder is stored in the result register 189. Thereafter,depression of the result display key causes the quotient to be read fromthe store I register and stored in the cursor addressed field. The storeI register is not cleared during this operation. A second depression ofthe result display key reads the remainder from the result register andclears it.

In addition to performing various arithmetic functions described above,the arithmetic and logic unit 193 also effects various logical andhousekeeping functions under the control of the arithmetic and controlkeys 25. As described above, depression of the "clear" key causes thefield addressed by the cursor in the worksheet storage unit 60 to becleared if the cursor is in the units position of such a field. However,if the cursor is in the control position of the field, the resultregister 189 is cleared.

Also, as described above, depression of the result display key causesthe contents of the result register to be transferred to the worksheetstorage unit 60 and be displayed on the display device 13 at the fieldlocation indicated by the cursor. During this operation, the resultregister is cleared and any previous contents of the numerical fielddefined by the cursor in the worksheet storage 60 are replaced by thenew contents. it should be noted that the store I register 19! isaddressed in lieu of the result register 189 immediately following adivide operation. A second depression of the result display keyfollowing a divide operation causes the contents of the result registerto be transferred. Two additional keys are provided on the arithmeticcontrol keyboard "result display and result display Depression of one ofthese keys effects the same operation as that described above withrespect to the result display key except that the operation occurs onlyif the sign of the number contained in the result register correspondswith the sign of the depressed keybutton.

A transfer operation is provided to eliminate rekeying of fields alreadydisplayed. The field to be transferred to an additional location isfirst addressed by locating the cursor at the cursor control osition.The operator thereafter depresses the transfer" key and the contents ofthe field thus addressed are transferred to the memory register 185 andrewritten back into the addressed location. The cursor is thereafterlocated at the control position of the field to which the data is to betransferred and the display key is depressed to effect transfer of datafrom the memory register 185 to the addressed location in the worksheetstorage unit 60. Since the memory register 185 retains the numericalentry which was last read into or from the storage unit 60, the cursormay thereafter be located adjacent to the control position of a stillfurther field and thereafler the display key be depressed to thusdisplay and store the value in any number of other additional storagelocations as desired.

In certain applications, it is necessary to perform complex arithmeticoperations on a displayed number. This may be done in the scratch padstorage 61 as will be described hereinafter. To place a number locatedin the worksheet storage unit 60 in the scratch pad storage unit 61, theoperator locates the cursor to the desired field, and thereafterdepresses the transfer key to locate the desired number in the memoryregister 185. Next, the operator depresses the "store key to effect thetransfer of the number to the result register or depresses the store 1key to effect transfer of the number to the store I register 191. In asimilar manner the store 2, store 3, and store 4 keys effect storage ofthe addressed number in the corresponding registers of the scratch padstorage unit 61.

Two additional control keys, the "underscore key and the "doubleunderscore" key are located on the arithmetic and control keyboard 25.Depression of the underscore key with the cursor located in the controlposition of a numerical field will cause a single underscore to appearabove the field. This underscore is generated by the arithmetic andlogic unit 193 and is effected by setting a special flag bit associatedwith each character position of the addressed numerical field in theworksheet storage 60. Setting of this bit effects the display of anunderscore when the character is decoded by the worksheet displaycontrol unit 63. Depression of the double underscore key effects thedisplay of a double underscore beneath the addressed numerical field andis effected by setting a second row of flag bits associated with eachcharacter position in the addressed field.

Summarizing, it has been described how numerical data is entered intothe worksheet storage unit 60 for display on the display device 13.Variable length fields for the data are initially defined by theoperator and thereafter, numerical entries are made within the thusdefined fields. Selection of the field wherein a numerical entry is tobe made is effected by manipulating cursor control keys on the cursorcontrol keyboard 29 which define corresponding addresses in theworksheet storage unit 60 and by thereafter keying the numerical entry.The numerical fields thus entered in the worksheet storage unit 60 maybe arithmetically manipulated by the arithmetic and logic unit 193 andcaused to be either temporarily stored in the result register I89 orpermanently stored in a selected location of the worksheet storage unit60.

Often it is desirous to perform complex arithmetic operations with thevarious factors utilized in such operations being continuously displayedbefore the operator Since many of these factors are intermediate innature, it is desirous to store only the final result of the calculationin the worksheet storage unit 60. A second mode of system operation isthus provided which enables complex calculations to be readily performedwidiout disturbing the entries contained in the worksheet storage unit60. This mode of operation is called the scratch pad mode of systemoperation and will be described in the description which follows.

When the operator desires to perform an off-the-worksheet calculation,factors located in the worksheet storage unit 60 which are to beutilized during the calculation may be transferred from the worksheetstorage unit 60 to the scratch pad storage unit 6! by locating thecursor adjacent to the control position of the numerical field desiredto be transferred, depressing the transfer" keybutton. and thereafterdepressing one of the "store" keybuttons as described heretofore. Onceall of the desired factors are thus transferred, the ope ratofswitchesthe toggle switch 45 on the arithmetic and control keyboard therebyeffecting transfer of the switch 45' which effects the display of thescratch pad storage unit 6t as controlled by the scratch pad storageunit 61 as controlled by the scratch pad display control unit 65 on thedisplay device 13. The display which appears on the face of the displaydevice 13 is in column format with the contents of each of the registersof the scratch pad display unit 61 being displayed,

one under another. Additionally, the contents of the result register 189and of the entry register 187 are displayed under the display of thecontents of the scratch pad storage unit 61. The result of anycalculation performed in the scratch pad storage mode may be transferredto the worksheet storage unit 60 by utilizing the "result display" key.In order to effect such a transfer, the device must be returned to theworksheet display mode, the desired location addressed by the cursor,and the result display key depressed.

The scratch pad storage unit contains four registers, designated asstore 1 register 191, store 2 register 195, store 3 register 196, andstore 4 register 197. Each of the store registers can be addressed intwo ways: by depressing the corresponding storage address keys labeled"Store 1Store 4 on the scratch pad storage control keyboard 39 of FIG.2, or by depressing the "Store" key on the same keyboard. Numericalentries are loaded into a store register from the worksheet storage unit60 while the switch 45 is transferred to the worksheet mode ofoperation. The address keys are utilized in conjunction with thetransfer function previously described. Additionally, numerical entriescan be loaded into the store registers from either the result register189 or the entry register 187 under the control of the "Store key whilethe switch 45' is transferred to the scratch pad mode of operation.Depression of the Store" key following a keyboard entry into the entryregister 187 effects the transfer of the keyed data from the entryregister 187 to the store I register 191. Any number previously locatedin the store 1 register 191 is transferred to the store 2 register 195whose contents are transferred to the store 3 register 196 and so on.The numerical value keyed into the entry register also remains in theentry register for possible use in the calculation to be performed. in asimilar manner, the value stored in the result register 189 istransferred to the store I register 19] upon the depression of the storekey following an arithmetic operation. It should be noted at this pointthat while four store registers and their corresponding address keyshave been described, a larger number of such registers could be utilizedif desired.

Summarizing. the above description has related to the display ofnumerical values contained in the scratch pad storage unit 61, and theentry of these values into the scratch pad storage unit. In thedescription which follows, the functions of the entry register 187, theresult register 189, and the arithmetic and logic unit 193 will bedescribed for the scratch pad mode of operation.

The operation of the entry register 187 in the scratch pad mode ofoperation is similar to that described with respect to the worksheetmode of operation. It can be loaded only from the numeric keys of thealphabetic and numerical keyboard 27 and retains its contents during allarithmetic operations. It is cleared upon the start of a new entry afterone or more arithmetic operations. When the operator keys a numericquantity into the entry register and thereafter depresses the addkeybutton, the "subtract" keybutton, the multiply keybutton, or the"divide" keybutton, the contents of the entry register will be used asthe addend, subtrahend, multiplicand, or dividend as the case may be.Further, if none of the other store registers are addressed prior to thedepression of such an arithmetic function key, the entry registercontents will be used as the operand automatically.

The result register contains the results of all arithmetic operationsperformed by the arithmetic and logic unit 193 except for the quotientin a division operation. In a division operation, the store I register19] stores the quotient while the result register stores the remainder.Depression of the clear key clears the result register 189 whiledepression of the store key causes the contents of the result registerto be transferred to the store I register 191 as described above. if theoperator desires to store the result of a calculation which is containedin the result register 189 at a location of the work storage unit 60, itis necessary to transfer switch 45' to the worksheet mode of operation,locate the cursor to the desired field and thereafter depress the resultdisplay key on the arithmetic and control keyboard 25. This operationcauses the contents of the result register to be cleared.

In the description which follows, the arithmetic functions performed bythe arithmetic and logic unit 193 in response to the depression of keyson the arithmetic and control keyboard 25 when in the scratch pad modeof operation, will be described. Depression of the add key causes thecontents in the register last addressed to be added to the contents ofthe result register 189. Thus, if one of the address keys on thearithmetic control keyboard 25 designating one of the store registershas been previously depressed, the contents of the designated storeregister would be added to the contents of the result register. If noregister is thus addressed, keyboard entry is implied and the contentsof the entry register 187 are added to the contents of the resultregister 189. Depression of the subtract key effects a similar operationexcept that the sign of the subtrahend is reversed.

Depression of the multiply key causes the contents of the last addressedregister to transfer to the result register 189. If another operation(e.g. addition, multiplication, etc.) immediately precedes thedepression of the multiply key, the contents of the result register willremain and become the multiplicand. If a keyboard operation immediatelyprecedes the depression of the multiply key, the contents of the entryregister 187 are placed in the result register 189. Additionally,depression of the multiply key sets up the arithmetic circuit so that amultiply operation will occur when the equal keybutton is depressed.Thereafter, the multiplier is selected by depressing an address key thusselecting the contents of one of the store registers in the scratch padstorage unit 61 or the multiplier is keyed. In either event. thecontents of the selected register or the keyed value are transferred tothe entry register I87 upon the depression of the equal key.

Depression of the divide key causes the contents of the last addressedregister to transfer to the result register 189 and serve as a dividend.if another arithmetic operation immediately precedes the depression ofthe divide key, the contents of the result register remain as adividend. Additionally, the divide circuits in the arithmetic logic unit193 are set up so that a divide operation will occur when the equal keyis depressed.

Depression of the equal key causes a multiply operation or a divideoperation to occur in accordance with previously depressed keybuttons.The contents of the register addressed immediately preceding thedepression of the equal key are transferred to the entry register 18'!unless a keyboard entry immediately preceded the depression of the equalkey, in which case that value is retained in the entry register. Theresult of a multiply operation is stored in the result register 189 andthe result of a divide operation is stored in the store I register 91and the result register as previously described.

The following chart summary outlines the operation of the variouspossible combinations of operational sequences which can be performed inthe scratch pad mode of operation:

Last operation Storiboard Store n n I) u 2 1 NA ll ll ll Keyboard Storel-4.....

l Subtracts contents of addressed register from result register. I IContents of result register are assigned as multiplicand. (A+B )C=D or(A-B )C=D I2 Contents of entry register are transferred to the resultregister and become the multiplicand.

13 Same as l2 except addressed store register is used.

14 Contents of the result register are assigned as the dividend.

15 Contents of entry register moved to result register as dividend.

16 Contents of addressed register moved to result register as dividend.

I7 Contents of result register are squared. (A =B).

I8 Initiates multiply or divide using last-addressed factors asoperands. Store operation does not cancel previous control setups.

l9 Initiates multiply or divide using entry register as multiplier ordivisor.

20 Initiates multiply or divide using addressed register as multiplieror divisor.

21 Transfers contents of result register to store 1, of store 1 to store2, store 2 to store 3, etc.

22 Transfers contents of entry register to store i, of store I to store2, store 2 to store 3, etc.

23 Normal factor entry after clearing of result register.

24 Normal factor entry prior to arithmetic operation.

25 Normal factor addressing afier clearing of result register 26 Normalfactor addressing prior to arithmetic opera tion.

Summarizing, there are two basic modes of operation of the electronicstatistical typing system: scratch pad mode and worksheet mode. When inscratch pad mode, as described above, the system functions as a smalldesk calculator, the contents of various registers being displayed onthe display device 13 to readily enable the operator to arithmeticallymanipulate the numerical contents of the registers and thus performcomplex calculations. The contents of the registers thus displayed whichform the scratch pad storage unit 61 may be transferred to the worksheetstorage unit 60 and preselected values stored in the worksheet storageunit 60 may be transferred to a designated register within the scratchpad storage unit 6]. When in worksheet mode, the contents of theworksheet storage unit 60 are displayed on the display unit 13 and theoperator, by manipulating cursor control keys, is able to specify thestorage locations of the data to be arithmetically operated upon,entered, or transferred to other locations within the worksheet storageunit 60.

As has been described heretofore, an additional characteristic ofstatistical and accounting work is repetition. Operations performed onone set of factors are frequently repeated on other sets. The electronicstatistical typing system of the present invention incorporates a uniqueprogramming device which enables the operator to work through a sampleexample and, by so doing, effect the programming of the system.Thereafter, the operator effects the repetition of the program on otherdata thus letting the programming device sequence the system through thevarious steps. For example, it may be desirous to total each column onthe worksheet. In order to program the system so that it will performeach step within such an operation automatically. the operator merelydepresses a learn program" keybutton on the keyboard, and performs theoperation on the data that is desired. In the above example, theoperator would manipulate the cursor control key and the add key andthus total a single column. Thereafter, the operator would place thecursor at the next column desired to be totaled and merely depress theprogram repeat button. The programming device would thereafter effectthe proper placement of the cursor and also properly sequence theplacement of the cursor with arithmetic operations performed by thesystem. In the description which follows, the operation of theprogramming device will be described.

Referring once again to FIG. 2 of the drawings, a program controlkeyboard 41 is utilized by the operator to effect the storage of andrepetition of programmed sequences. By way of example, eight programsequences can be stored by the programming device of the system witheach program containing up to 64 individual function or cursor motioninstructions. The indicator lamps 43 indicate which of the eight programsequences will control the operation of the device By depressing theprogram advance" key on the keyboard, a different one of the eightprograms will be sequentially accessed for such control purposes.

As indicated above, there are two program modes of operation: programlearn and program repeat. In the program learn mode of operation, allcontrol operations including cursor motion are sequentially stored; andin the program repeat mode of operation. a previously stored sequence ofoperations is read out to control the sequencing of operations performedby the system. The system is placed in the program learn mode ofoperation by first depressing the "program advance" keybutton to selecta desired one of the eight program sequences. Thereafter, the cursor ismoved to a position adjacent the first data item to be operated upon andthe learn program" keybutton is depressed. All subsequent controloperations and cursor motions will be stored within the selected programsequence. Similarly, after locating the cursor to the starting point andselecting the desired program, the repeat program keybutton may bedepressed and the system will perform the operations defined by theselected program on the data displayed.

Referring now to FIG. 3 of the drawings, the programming device of theelectronic statistical typing system consists of a program storage unit199. a storage address and control unit 201, a program store register203, and an encode/decode circuit 205. The program storage unit storeseight different program sets, each set consisting of up to 64 individualfunction or cursor motion instructions. The storage address and controlunit 201 is responsive to the "program advance" keybutton on the programcontrol keyboard 41 to select the initial location of one of the eightprogram sequences. Thereafter, when in the program learn mode, eachcharacter gated from the program store register 203 into the programstorage unit 199 causes the address and control unit to increment by oneunit to the next instruction storage location within the selectedprogram sequence. In a similar manner, when in program repeat mode, eachcharacter gated from the storage unit 199 to the program store register203 effects the incrementing of the address and control circuit 20I.Thus, each of the 64 instruction locations within a program sequence isaccessed under the control of the address and control unit 20I.

When in the program learn mode, a representation of each manipulation ofthe keybuttons on the cursor control keyboard 29 are transmitted to theencode/decode circuit 205. Additionally, a representation of eachmanipulation of the keybuttons on the arithmetic control keyboard 35,the keybuttons on the display control keyboard 37, and the keybuttons onthe scratch pad storage control keyboard 39 of FIG. 2 are alsotransmitted to the encode/decode circuit 205. Each such representationtransmitted to the encode/decode circuit 205 is encoded into a specialprogram instruction character and transmitted to the program storeregister 203. Once such an instruction is received in the program storeregister 203, it is gated into the program storage unit 199 under thecontrol of the address and control unit 201. When in the program repeatmode of operation, each program instruction character previously storedis sequentially gated from the program storage unit 199 to the programstore register 203. Thereafter, each such individual instructioncharacter is decoded by the encode/decode circuit 205 and transmittedeither to the address and cursor control unit 83 or to the arithmeticand logic unit 193. The output signal of the encode/decode circuit 205is similar in all respects to the output signal supplied by theindividual keybuttons and their corresponding switches on the arithmeticand control keyboard 25 or the cursor control keyboard 29. Thus, thesesignals cause the system to operate in the same manner as if theoperator depressed the corresponding keybuttons. it is, of course,recognized by those skilled in the art that clocking circuitry (notshown) can readily be incorporated to insure that an instruction is notread into the program store register 203 until the previous instructionis executed. This clocking circuitry would be responsive to both theoperations of the worksheet storage unit 60 and the scratch pad storageunit 61 to control the address and control unit in a well known manner.

As has been described heretofore, once the displayed worksheetinformation has been entered, arithmetically manipulated, totaled andcross-totaled and if necessary, changed and retotaled the informationthus contained in the worksheet storage unit 60 represents the finalwork product of the professional. In order to obtain a printed copy ofthe information thus contained in the worksheet storage unit 60, theelectronic statistical typing system of the present invention alsoincludes an input/output device 207. The input/output device 207 couldeither be a secondary media reader/recorder, a secondary media readerand printer, or an electronic data procesing system. An example of asecondary media reader/recorder having an output printer associatedtherewith which could readily be adapted for utilization in conjunctionwith the electronic statistical typing system of the present inventionis the magnetic card reader/recorder described in the aforereferencedcopending application entitled "Data System With Printing, Composing,Communications, and Magnetic Card Processing Facilities."

When it is desirous to output the information to the input/output device207, the output" keybutton on the mode control keyboard 33 is depressedwhich effects the automatic reading out of the information contained inthe worksheet storage unit 60 under the control of the address andcursor control unit 83. Depression of this keybutton causes the addressand cursor control unit to gate out the information starting with thefirst position of the topmost line of the worksheet storage unit 60.Depending upon the internal formating of the worksheet storage unit 60,this line could correspond to the format data (tab stops). Once thetopmost line is thus read out into the memory register I85 and thence tothe input/output device 207, the address and cursor control unit 83causes the second line of storage to be addressed and similarly readout. This operation continues until the entire contents of the worksheetstorage unit are accurately transferred either to a secondary media forsubsequent printout or directly to a printer.

Since the information is in columnar format and since the various tapstops defining each column are defined internally in the storage unit,it is possible to first effect the automatic setting of tab stops on aserial printer. Inthis manner, theserial printer is thereafter.tabulated instead of being spaced through the blank spaces between eachcolumn thus effecting an efficient utilization of the serial printer.

It is to be noted that the operation of the input device associated withthe input/output device 207 is analogous to the operation of the outputdevice. That is, information is read into the worksheet storage unit 60a line at a time until all of the input information contained on thesecondary media is thus entered. in this manner, the work product of oneprofessional can be transferred to the secondary media. At a later timethe second professional could cause the information on the secondarymedia to be entered into the system for checking and/or updatingpurposes.

Thus far, the description has related to the entry and display ofalphabetic characters and numerical numbers on the display device 13. Itis ofien desirous to display decimal points and other punctuationsymbols such as commas. A decimal point selector switch 209 is locatedon the display control keyboard 37 which enables the operator to specifythe location of the decimal point. Decimal points are locatedautomatically to the left of the cursor tab location according to thesetting of the decimal point selection switch. When in scratch pad modethey are located to the left of the rightmost storage position of thefixed field scratch pad storage registers according to the setting ofthe switch. The operator is required to key a decimal key located on thealphabetic and numeric keyboard 27 when entering fractional numbers. ifall of the decimal positions to die right of the decimal point are notkeyed (implicit zeros the system automatically aligns the decimal pointsaccording to the setting of the decimal point selection switch and addsthe necessary zeros Commas are automatically placed at every thirdposition to the left of the decimal point once the decimal point key iskeyed in a wellknown manner.

An additional means of controlling the decimal point location, which isespecially applicable to both the scratch pad mode of operation and theworksheet mode of operation of the present system. is described in US.Pat. No. 3,391,391, entitled Computation With Variable Fractional PointReadout, and assigned to the assignee of the present invention. Therein,the various registers are adapted to store numerical information intheir relatively ordered storage locations and also are adapted to storethe decimal point indication in any of the storage locations. Thearithmetic unit performs the arithmetic operations of multiplication,division, addition and subtraction of two stored numbers and stores theresult in a result register. Additional means are provided to access thestored numbers, compute the proper decimal point location of theresultant number in accordance with the arithmetic operation performedand to store the decimal point location in its proper relative positionin the result register. Display means thereafter display the contents ofthe register with the fractional point in its proper relative position.

OPERATION OF THE INVENTION The electronic statistical typing systemoperates in two basic modes of operation: worksheet mode and scratch padmode. When in the worksheet mode, columns and rows of data are enteredby the operator and displayed on a display device. The operator causesthe data displayed to be moved about the display and also arithmeticallymanipulates the data displayed. In the scratch pad mode, the system isutilized as a desk calculator and the contents of various internalregisters associated with an arithmetic unit are displayed therebyenabling the operator to arithmetically manipulate the data displayed.

Referring now to FIG. 1 of the drawings, a perspective sketch of atypical operator's console when the system is in the worksheet mode isdepicted. As thus depicted, the display device 13 is displayinginformation 17 arranged in a column and row format. The information onthe display can be divided into three areas which are delineated bybroken lines: the columnar identification area 19 containing alphabeticinformation identifying the columns, the row identification area 21containing alphabetic information identifying the rows, and a numericalentry area 23 containing the columns and rows of numerical entries. Thisinformation is entered into the system by operator manipulation of thealphabetic and numeric keyboard 27 or by an input/output device (notshown).

Referring now to FIG. 2 of the drawings, a diagram of the keyboard ofthe console 11, depicted in FIG. 1 is depicted. The keyboard 15 includesa mode control keyboard 33 which includes a toggle switch 45 utilized toplace the system in either the worksheet mode of operation or thescratch pad mode. Additional submodes include an enter mode, a replacemode, and a calculate mode. Referring once again to FIG. 1 of thedrawings, the alphabetic information in the columnar and rowidentification areas 19 and 21 respectively is inputed when in replacemode. When in replace mode, the cursor 31 displayed on the displaydevice 13 is located adjacent to the position on the display where thenext keyed character will be displayed and advances by one position tothe right when a character is keyed. When keying in the columnarheadings, the operator define each column by setting tab stops. Thesetting of the tab stops defines the length of the numerical fieldscontained within the numerical entry area 23. Once the row headings andcolumn headings have thus been entered, the numerical data is entered.The data is generally entered when in enter mode, this mode causing thecursor 31 to be located adjacent to the units position of a numericalfield. Numerical entry in this mode of operation is high order positionsfirst, the numerical information being shifted to the left by oneposition with each new key entry. Numerical entries may also be madewhen in replace mode.

When the operator has completed the entry phase of opera tion, thecalculate mode of operation is next performed. Once the calculate"keybutton on the arithmetic and control keyboard 25 is depressed,physical relocation of the displayed data and arithmetic manipulation ofthe displayed data can take place. This is done by operating with thekeys on the cursor control keyboard 29 to locate the cursor 31 at afield con trol position associated with each numerical entry and byoperating the desired function keys on the arithmetic and controlkeyboard 25. During such data manipulation, it may be necessary toswitch to the scratch pad mode of operation to perform a complexcalculation. Data may readily be moved from the worksheet display to thescratch pad display and vice versa.

The nature of the cursor control permits a sweeping motion across a rowor down a column. Combining this operation with arithmetic functionsallows entire columns and rows to be manipulated at high speed.Additionally, functions perfonned under operator control for a specificcolumn or row may be learned" by the system and used to automaticallyperform similar operations on other columns or rows. This automatic modeprovides even greater speed and operator simplicity.

In the description which follows, it will be assumed that all of theinformation contained in the columnar identification area 19, the rowidentification area 21, and all of the entries within the columns androws thus defined will have been previously entered and that it isdesirous to obtain the totals of the various columns. Additionally, itwill be assumed that it is desirous to make the system leam" thetotalizing operation as it is performed in one column and to thereafterautomatically perform the operation upon the depression of a singlekeybutton.

Referring now to FIG. 2 of the drawings, the operator places the systemin the calculate mode of operation by depressing the calculate key onthe mode control keyboard 33. Thereafter, the operator manipulates thekeys on the cursor control keyboard 29 to place the cursor adjacent tothe first numerical entry in the first column. This can be done bymanipulating the keybuttons 49 or by depressing the "return keybuttoncausing the cursor to move to its leftmost position in the numericalentry area, depressing the "elevate keybutton causing the cursor toreturn to its uppermost position within the numerical entry area, andthereafter depressing the "tab keybutton causing the cursor to advanceto the control position of the first entry. Thereafter, the "learnprogram" keybutton on the program control keyboard 41 is depressed andthe program advance" keybutton is manipulated to select the desiredprogram sequence. At this time the operator is ready to perform asequence of arithmetic operations, display operations, and cursor motionoperations in order to total the first column of information. The "add"key on the arithmetic keyboard 35 is next depressed. The operator thencauses the cursor to move down to the second numerical field in thecolumn. Continuous cursor movement in a downward direction is effecteduntil the last numerical entry in the column has been addressed.Thereafter, the operator releases the add key, moves the cursordownward, depresses the underscore" key on the display control keyboard37 to effect the underscoring under the last numerical entry andthereafter depresses the result display" key on the display keyboard 37to effect the display of the total under the underscore.

Referring now to FIG. 3 of the drawings, it has been described how theoperator has placed the cursor adjacent to the control position of theuppermost numerical field displayed on the display device 13. Each ofthe numerical fields thus displayed is stored in the worksheet storageunit 60. Location of the cursor upon the display 13 adjacent to acharacter symbol as controlled by the address and cursor control unit 83also causes that character to be addressed in the worksheet storage unit60. Referring briefly to FIG. 4 of the drawings, a representation oftypical numerical fields of information within the worksheet storageunit 60 is depicted. Each such field 69 of information is defined by tapstops and consists of a numerical entry portion 75 containing a numberof data characters and a sign and control portion 77. By locating thecursor symbol graphically depicted at adjacent to the control positionof the field (in actuality, addressing the control position of thefield) when in the calculate mode, arithmetic operations may thereafterbe performed on the data contained in the numerical portion 75 of thefield 69.

Referring now to FIG. 3 of the drawings, the above listed sequence ofoperations will be described with respect to the block diagram of thesystem. When the operator depresses the add key on the arithmetic andcontrol keyboard 25, the contents of the topmost numerical fieldaddressed by the cursor in the worksheet storage unit 60 are gated intothe memory register and thence into the entry register 187. Thereafter,the contents of the entry register 187 are added to the contents of theresult register (which is clear) by the arithmetic and logic unit 193and the result is thereafter stored in the result register 189.Additionally, the output signal generated from the depression of theadd" keybutton is transmitted to the encode/decode circuit 205 whichprovides a signal output to the program store register 203 in the formof a coded representation representative of an add operation. Thecontents of the program store register 203 are thereafter gated into theprogram storage unit 199 under the control of the address and controlunit 201. Thereafter, the operator causes the cursor to move in adownward direction and keeps the add" key depressed. When the cursorreaches the control position of the second numerical entry in the firstcolumn, that numerical entry is gated into the memory register 185 underthe control of the address and cursor control unit 83. Since the add keyis depressed at this time, the contents of the memory register 185 aregated into the entry register 187 and thereafter, the contents of theentry register 187 are added to the contents of the result register 189by the arithmetic and logic unit 193 and the result of the arithmeticcalculation is stored in the result register 189. Additionally, theinstruction to move the cursor in a downward direction is transmitted tothe encode/decode unit 205 and thence to the program store register 203and the program storage unit 199. Thereafter, the encode/decode circuit205 is again responsive to the depressed "add" key to cause the storageof an indication of an add operation. it should be noted at this timethat a continuous depression of the add key, the subtract key, or themultiply key causes that function to be repeated whenever the cursor ismoved to the control position of a new field. The cursor is continued tobe moved in a downward direction through the control positions of thenumerical entries within the column of information. When it arrives ateach new control position, it causes the contents of the field thusaddressed to be added to the contents of the result register 189 and arepresentation of both the cursor motion and the operation to be storedin the program storage unit 199.

Referring now to FIG. 11 of the drawings, a singular program sequencewithin the program storage unit 199 of FIG. 3 is depicted. The programsequence 2 consists of a plurality of 64 discrete storage locations 213,each location storing a coded representation of a control function orcursor motion function. When totaling the leftmost column of numericalentries depicted in FIG. 1, it has been described that the add" key iscontinuously depressed and thereafter, the cursor is moved downwardthrough each of the nine columns of information. As can be appreciated,it would also be possible to discretely depress the singular programsequence within the program storage unit 199 of FIG. 3 is depicted. Theprogram sequence 2!] consists of a plurality of 64 discrete storagelocations 213, each location storing a coded representation of a controlfunction or cursor motion function. When totaling the leftmost column ofnumerical entries depicted in FIG. 1, it has been described that theadd" key is continuously depressed and thereafter, the cursor is moveddownward through each of the nine columns of information. As can beappreciated, it would also be possible to discretely depress the add"key on nine different occasions, and between each such depression of theadd key, depress the cursor down key. In either instance, nine addinstructions are stored interleaved with nine cursor down instructions.

Referring once again to FIG. 3 of the drawings, when the complete columnof information has been totaled, it is desirous to display the totalunder the column and to locate a line between the total and between thecolumnar information. The operator moves the cursor downward to thelocation where it is desired to effect the display of the total anddepresses the "underscore" key on the arithmetic control keyboard 25.Depression of the "underscore" key causes an underscore to be displayedabove the numerical entry of the field addressed. Thereafter, theoperator depresses the result display" key which causes the contents ofthe result register 189 to be gated into the memory register I85 andthence into the worksheet storage unit 60 at the location specified bythe cursor. The result register I89 is cleared during this operation.The operator may then depress the program end" keybutton on thearithmetic and control keyboard 25 and thereafter reposition the cursorto the control position of the second column of information. Thereafter,the operator depresses the "repeat program" keybutton to effect theautomatic totaling of the second column and the display of the total bythe systemv When the "repeat program" keybutton is thus depressed, theprogram sequence as depicted in FIG. 11 is sequentially gated from theprogram storage unit I99 to the program store register 203. Thereafier,the contents of each instruction character thus stored in the programstore register 203 is decoded by the encode/decode circuit 205. Cursormovement instructions are transmitted to the address and cursor controlunit 83 while arithmetic and control functions are transmitted to thearithmetic logic unit 193. In this manner, the device is sequentiallystepped through each of the steps previously performed by the operatorunder the complete control of the system. When the total of the secondcolumn is displayed, the system stops and the operator thereafterrepositions the cursor to the topmost position of the third column andagain depresses the program repeat keybutton. It should be noted at thistime that after depressing the result display have repositionedkeybutton, the operator could have repositioned the cursor to the secondcolumn and stored the cursor motions utilized to effect such arepositioning. With this information thus stored, it would beunnecessary for the operator to reposition the cursor in betweendepressions of the program repeat keybutton. Cross-totals may becalculated in a similar manner by utilizing the tab" key on the cursorcontrol keyboard 29 in lieu of the cursor down key as down key asdescribed above.

Once the columns and rows of information have thus been totaled, andcross-totalled, the operator may desire to manipulate various entries tocompensate for roundoff errors or to arrive at proper results.Thereafter, the columns and rows may be retotalled again by merelyaddressing the proper program sequence and depressing the program repeatkeybutton. Once the worksheet is in its desired form, the operatordepresses the "output" keybutton on the control keyboard 25 whicheffects the sequential reading out of the work sheet storage unit 60into the memory register and thence to the output unit of theinput/output device 207.

While the above description has related primarily to the display of datainformation on a cathode ray tube, it is understood by those skilled inthe art that various forms of electronic display devices such as gaspanel displays can be utilized without departing from the spirit andscope of this invention. Additionally, a single CRT display which isutilized to display two different storages has been described althoughtwo such display units could be provided, one to display the worksheetstorage unit and the other to display the scratch pad storage unit. Thedescription has also related to a system utilizing a cartesiancoordinate system to define the motion of the marker symbol (cursor)Other coordinate systems could be utilized in lieu of the cartesiansystem to define the cursor motion and/or the entries could be arrangedin a different geometrical patternv For example, a polar coordinatesystem could be utilized in conjunction with the row and column displayor in conjunction with a display of entries arranged in a circularpattern. It is further recognized by those skilled in the art that theelectronic statistical typing system of the present invention couldconsist of a console similar to that described with respect to FIG I,and a remote data processor func tionally arranged in a manner similarto that shown with respect to FIG. 3.

While the invention has been particularly shown and described withreference to a preferred embodiment thereof, it should be understood bythose skilled in the art that the foregoing and other changes in formand detail may be made therein without departing from the spirit andscope of the invention.

What is claimed is:

l. A display calculator comprising:

a first plurality of registers each for receiving sequences of codedsignals representing numerical entries;

manually operable addressing means for addressing one of said firstplurality of registers;

a second plurality of registers each for receiving sequences of codedsignals representing numerical entries; manually selectable registerdefining means for defining the field length of each of said secondplurality of registers;

display means responsive to signals stored in said first plurality ofregisters when in a first mode of operation for displaying a pluralityof the numerical entries contained in said first plurality of registersand responsive to signals stored in said second plurality of registerswhen in a second mode of operation for displaying a plurality ofnumerical entries stored in said second plurality of registers;

visual marking means operatively connected to the display means in saidsecond mode of operation for visually selecting one of said displayedplurality of numerical entries and for providing an output signalidentifying the register containing the selected entry;

access means responsive to machine conditions designating an arithmeticoperation for accessing said register identified by the visual markingmeans when in a second mode of operation and for accessing the registeridentified by the manually operable addressing means when in said firstmode of operation;

1. A display calculator comprising: a first plurality of registers eachfor receiving sequences of coded signals representing numerical entries;manually operable addressing means for addressing one of said firstplurality of registers; a second plurality of registers each forreceiving sequences of coded signals representing numerical entries;manually selectable register defining means for defining the fieldlength of each of said second plurality of registers; display meansresponsive to signals stored in said first plurality of registers whenin a first mode of operation for displaying a plurality of the numericalentries contained in said first plurality of registers and responsive tosignals stored in said second plurality of registers when in a secondmode of operation for displaying a plurality of numerical entries storedin said second plurality of registers; visual marking means operativelyconnected to the display means in said second mode of operation forvisually selecting one of said displayed plurality of numerical entriesand for providing an output signal identifying the register containingthe selected entry; access means responsive to machine conditionsdesignating an arithmetic operation for accessing said registeridentified by the visual marking means when in a second mode ofoperation and for accessing the register identified by the manuallyoperable addressing means when in said first mode of operation;arithmetic means responsive to said access means for performing anarithmetic operation on each numerical entry contained in the registersaccessed by the accessing means; manually selectable initiation meansfor supplying signals to the access means and to the arithmetic means todesignate the arithmetic operation to be performed by the arithmeticmeans on the numerical entry of the accessed registers.
 2. The displaycalculator set forth in claim 1 further comprising: data entry means forsupplying a sequence of coded signals representative of a numericalentry; said access means being further responsive to machine conditionsdesignating said first mode of operation for operably connecting thedata entry means to the register identified by the manually operableaddressing means and, being further responsive to machine conditionsdesignating said second mode of operation for operably connecting thedata entry means to the register identified by the visual marking means.3. The display calculator set forth in claim 1 further comprising:output means responsive to the coded signals stored in said secondplurality of registers and to output initiation means for recordingsignals representative of said numerical entries onto permanent media.4. An electronic display calculator comprising: storagE means forreceiving combinations of coded signals, each said coded signalrepresenting an alphabetic or numeric character; register defining meansfor defining a plurality of registers within said storage means, eachsuch register storing a numerical entry consisting of one or morenumeric characters, said register defining means further defining ageometrical arrangement of the numerical entries into a plurality ofrows and columns of numerical entries, said register defining meansfurther defining a geometrical relationship between the rows and columnsof numerical entries and alphabetic characters uniquely related to eachsuch row and column of numerical entries; display means responsive tothe coded signals stored in said storage means and to the registerdefining means for displaying a portion of the plurality of numericalentries in said storage means in said row and column relationship, saiddisplay means further displaying the portion of alphabetic informationcorresponding to each row and column of numerical entries thusdisplayed; visual marking means operably coupled to the display meansfor visually selecting a unique one of the displayed plurality ofnumerical entries and for providing an output signal identifying theregister containing the selected entry; boundary defining means fordefining the registers displayed by said display means; and scan windowshifting means responsive to the output signal of the visual markingmeans and to the boundary defining means for shifting the informationdisplayed on said display means when a predetermined relationship existsbetween a position of visual marking means and the displayedinformation.
 5. The electronic display calculator set forth in claim 4further comprising: manually operable means for defining an arithmeticoperation to be performed; arithmetic means responsive to the outputsignals of the visual marking means and to the manually operable meansfor performing the arithmetic operation defined by the manually operablemeans upon the selected numerical entry contained in the identifiedregister.
 6. An electronic data processing machine comprising: aplurality of registers each adapted to receive sequences of codedsignals representing numerical entries; manually selectable registerdefining means for defining the field length of each register, displaymeans responsive to the coded signals for displaying a plurality of saidnumerical entries; visual marking means operably coupled to the displaymeans for visually selecting one of said displayed plurality ofnumerical entries and for providing an output signal indicating theregister containing the selected entry; access means responsive tomachine conditions designating an arithmetic operation to access saidregister identified by said visual marking means; arithmetic meansresponsive to said access means for performing an arithmetic operationon the numerical entry contained in the register accessed by said accessmeans; manually selectable initiation means for supplying signals tosaid access means and to said arithmetic means to designate thearithmetic operation to be performed by said arithmetic means upon thenumerical entry contained in said accessed register.
 7. An electronicdisplay calculator comprising: data entry means for supplying a sequenceof coded signals representative of register defining instructions andrepresentative of numerical quantities, storage means responsive to saiddata entry means for storing said sequence of coded signalsrepresentative of numerical quantities; register defining meansresponsive to coded signals representative of register defininginstructions for defining a plurality of registers within said storagemeans, each such register storing a numerical entry consisting of one ormore numerical quantities, said register defining means further defininga geometrical arrangement of said numerical enTries in accordance with apredetermined coordinate system; display means responsive to the codedsignals and to the register defining means for displaying a plurality ofsaid numerical entries in said geometrical arrangement; visual markingmeans operably coupled to the display means for visually selecting oneof said displayed plurality of numerical entries and for providing anoutput signal identifying the register containing the selected entry;manually operable means for defining an arithmetic operation to beperformed; arithmetic means responsive to said output signals of thevisual marking means and to the manually operable means for performingthe arithmetic operation defined by the manually operable means on theselected numerical entry contained in the identified register.
 8. Theelectronic display calculator set forth in claim 7 wherein said storagemeans is responsive to the output signal of the visual marking means forstoring said coded signals in the identified register.
 9. The electronicdisplay calculator set forth in claim 7 further comprising: alphabeticentry means for supplying a second sequence of coded signalsrepresentative of alphabetic information; said storage means furtherbeing responsive to said alphabetic entry for storing combinations ofcoded signals, each such combination representing an alphabeticcharacter; said register defining means further defining a geometricalrelationship of the numerical entries and the alphabetic characterrepresentations; said display means further being responsive to thesignal combinations representing the alphabetic characters and to theregister defining means for displaying said alphabetic characters insaid geometrical relationship; said visual marking means furtherselecting a unique one of said signal combinations representing analphabetic character and for providing an output signal identifying thestorage location of said signal combinations.
 10. An electronic displaycalculator comprising: storage means for storing combinations of codedsignals, each such combination representing a numerical quantity;register defining means for defining a plurality of registers withinsaid storage means, each such register storing a numerical entryconsisting of one or more numerical quantities, said register definingmeans further defining a geometrical arrangement of said numericalentries in accordance with a predetermined coordinate system; displaymeans responsive to the coded signals and to the register defining meansfor displaying a plurality of said numerical entries in said geometricalarrangement; movable visual marking means operably coupled to thedisplay means for visually selecting one of said displayed plurality ofnumerical entries and for providing an output signal identifying theregister containing the selected entry; defining means for defining anarithmetic operation to be performed; arithmetic means responsive tosaid output signals of the visual marking means and to the definingmeans for performing the arithmetic operation defined by the definingmeans on the selected numerical entry contained in the registeridentified by the output signal of the visual marking means; motiondefining means responsive to the movement of the visual marking meansfrom a first visually selected numerical entry to a second visuallyselected numerical entry for defining the movement of the marking meansin accordance with said predetermined coordinate system and inaccordance with the number of numerical entries traversed during saidmovement; program means responsive to the arithmetic means and to themotion defining means for storing a representation of a sequence ofvisual marking means motions and arithmetic operations in said storagemeans; sequencing means responsive to said programming means forautomatically repeating said sequence on additional numerical entriescontained in said storage means. Pg,90
 11. The electronic displaycalculator set forth in claim 10 further comprising: manually operabledisplay initiation means for supplying output signals for effecting thedisplay of the result of the arithmetic operations and wherein saidarithmetic means is responsive to the output signals of the displayinitiation means for storing the results of the arithmetic operation incoded form in the register identified by the visual marking means whenthe display initiation means is operated; and wherein said program meansis responsive to the operation of said display initiation means to storea coded representation of said operation in its proper sequentialrelationship with said sequence of visual marking means motion andarithmetic operations.
 12. The electronic display calculator set forthin claim 10 wherein said geometric arrangement defined by the registerdefining means consists of a plurality of rows and columns of numericalentries; wherein said coordinate system is a cartesian coordinatesystem, wherein said visual marking means being movable only in acoordinate direction from one entry to an adjacent entry, wherein saidmotion defining means provides an output signal for each movement of thevisual marking means from one entry to an a adjacent entry in accordancewith the direction of the motion and, wherein said program means storesa representation of each output signal of said motion defining means.13. A method of performing repetitive arithmetic operations by acalculator wherein each of a plurality of numerical entries are storedin corresponding data fields in coded form and visually displayed on adisplay device and wherein the data fields containing each suchnumerical entry can be uniquely identified to the calculator with avisual identification means associated with the display device andwherein the calculator has means associated therewith for defining andinitiating an arithmetic operation, said calculator further havingassociated therewith actuable program storage means for storing asequence of the motions of said visual identification means and of thearithmetic operations defined and initiated and for effecting theautomatic operation of the calculator in accordance with the storedprogram comprising the steps of: actuating said program storage means tostore said sequence; visually identifying one of said displayednumerical entries with said visual identification means, said identifiednumerical entry to be utilized as a first arithmetic operand; movingsaid visual identification means to a second one of said displayedplurality of numerical entries; visually identifying said second one ofsaid displayed numerical entries with said visual identification means,said numerical entry to be utilized as a second arithmetic operand;defining and initiating an arithmetic operation on said first and saidsecond operands; moving said visual identification means to a third oneof said displayed plurality of entries; actuating said program storagemeans to automatically operate said calculator in accordance with saidstored sequence of motions and arithmetic operations.